type If<C, T, F> = C extends true | false
    ? C extends true ? T : F
    : never